<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // && 两边都为 true ,才会返回true;一边不是，就会返回false
      // || 只要一个为true,就会返回true;两边都是false，才会返回false
      // ! 取反
      var a = true
      var b = false
      var c = true
      var d = false
      console.log(a && b) // false
      console.log(a && c) //true

      console.log(a || b) // true
      console.log(b || d) //false

      var category = '衣服'
      var price = 300
      console.log(category === '裤子' && price > 200) //false
      console.log(category === '裤子' || price > 200) //true

      // 特殊：

      // 1.  !!a  ==> 转化为布尔值
      var x = '1111'
      console.log(!!x) // true

      // 2.  && || 短路用法  项目中经常用到
      var y
      console.log(y && y.toString()) // undefined
      console.log(111)

      var z = ''
      console.log(z || '这个家伙很懒，什么都没有留下') //  z为空时,输出后面的那句话；不为空时，输出z
    </script>
  </body>
</html>
